<?php
/************************************************************************************************
 * Copyright (c) 2004-2008, codesign
 * 
 * All rights reserved.
 * 
 * LICENCE CC/BSD
 * You are free:
 * 
 * to Share & to copy, distribute and transmit the work
 * to Remix & to adapt the work
 * 
 * Under the following conditions:
 * 
 * Attribution. You must attribute the work in the manner specified by the author or 
 * licensor (but not in any way that suggests that they endorse you or your use of the work).
 * Share Alike. If you alter, transform, or build upon this work, you may distribute 
 * the resulting work only under the same, similar or a compatible license.
 * For any reuse or distribution, you must make clear to others the license terms of 
 * this work. The best way to do this is with a link to this web page.
 * Any of the above conditions can be waived if you get permission from the copyright holder.
 * Nothing in this license impairs or restricts the author's moral rights.
 * 
 * LICENCE BSD
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, 
 * this list of conditions and the following disclaimer in the documentation 
 * and/or other materials provided with the distribution.
 * Neither the name of "codesign" nor the names of its contributors may be used 
 * to endorse or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 ************************************************************************************************/
if( !defined( 'TEST_CSS2IE6' ) ): define( 'TEST_CSS2IE6', 1 );

include_once 'css2ie6.php';


if(!function_exists('compressText')):
function compressText( $text )
	{
	return( preg_replace( '([\s]+)', '', $text ) );
	}
endif;


class TestOfCSS2IE6 extends UnitTestCase
	{
	////////////////////////////////////////////////////////////
	function setUp()
		{
		}
	////////////////////////////////////////////////////////////
	function tearDown()
		{
		}
	////////////////////////////////////////////////////////////
	function testOfFixMinHeight()
		{
		$css =<<< CSS
.rule1 {
	width:200px;
	min-height:300px;
}
.rule2 {width:200px;}
CSS;
		$ie6 =<<< CSS
.rule1 {width:200px;height:300px;}
CSS;
		$result = css2ie6( $css );
		$this->assertEqual( compressText($result), compresstext($ie6) );
		}
	////////////////////////////////////////////////////////////
	function testOfFixFloat()
		{
		$css =<<< CSS
.rule1 {
	width:200px;
	float:left;
}
.rule2 {width:200px;}
CSS;
		$ie6 =<<< CSS
.rule1 {width:200px;float:left;display:inline;}
CSS;
		$result = css2ie6( $css );
		$this->assertEqual( compressText($result), compresstext($ie6) );
		}
	////////////////////////////////////////////////////////////
	function testOfFixPositionRelative()
		{
		$css =<<< CSS
.rule1 {
	width:200px;
	position:relative;
}
.rule2 {width:200px;}
CSS;
		$ie6 =<<< CSS
.rule1 {width:200px;position:relative;zoom:1;}
CSS;
		$result = css2ie6( $css );
		$this->assertEqual( compressText($result), compresstext($ie6) );
		}
	////////////////////////////////////////////////////////////
	function testOfFixOverflow()
		{
		$css =<<< CSS
.rule1 {
	width:200px;
	overflow:hidden;
}
.rule3 {
	height:200px;
	overflow:auto;
}
.rule2 {width:200px;}
CSS;
		$ie6 =<<< CSS
.rule1 {width:200px;overflow:hidden;zoom:1;}
.rule3 {height:200px;overflow:auto;zoom:1;}
CSS;
		$result = css2ie6( $css );
		$this->assertEqual( compressText($result), compresstext($ie6) );
		}
	////////////////////////////////////////////////////////////
	function testOfCombine()
		{
		$css =<<< CSS
.rule1 {
	width:200px;
	position:relative;
	overflow:hidden;
	float:left;
}
.rule3 {
	height:200px;
	overflow:auto;
}
.rule2 {width:200px;}
CSS;
		$ie6 =<<< CSS
.rule1 {width:200px;position:relative;overflow:hidden;float:left;zoom:1;}
.rule3 {height:200px;overflow:auto;zoom:1;}
CSS;
		$result = css2ie6( $css );
		$this->assertEqual( compressText($result), compresstext($ie6) );
		}
	}
	
endif;
?>